package com.ryder.petmatediarybackend.module.shop.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 描述：创建店铺资质DTO
 *
 * @author Ryder
 * @version 1.0
 * @since 1.0
 * 更新日期: 2025-10-31
 */
@Data
@Schema(description = "创建店铺资质请求DTO")
public class CreateQualificationDTO {

    @NotNull(message = "资质类型不能为空")
    @Schema(description = "资质类型：1=营业执照 2=动物诊疗许可证 3=其他", example = "1", required = true)
    private Integer qualificationType;

    @NotBlank(message = "资质名称不能为空")
    @Schema(description = "资质名称", example = "营业执照", required = true)
    private String qualificationName;

    @Schema(description = "资质编号", example = "110000000000001")
    private String qualificationNumber;

    @NotNull(message = "资质图片不能为空")
    @Schema(description = "资质图片URL列表（JSON数组）", required = true)
    private List<String> qualificationImages;

    @Schema(description = "有效期开始", example = "2024-01-01")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date validFrom;

    @Schema(description = "有效期结束", example = "2029-12-31")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date validTo;
}

